﻿//////////////////////////////////////////////////////////////////////////////
//
// Copyright © 1998-2024 Glodon Company Limited.
//
// Licensed under the MIT License
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the “Software”),
// to deal in the Software without restriction, including without limitation
// the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
// sell copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//////////////////////////////////////////////////////////////////////////////


#pragma once

namespace
{
    constexpr wchar_t* OPEN_SAMPLE_DOCUMENT_COMMAND = L"OpenSampleDocumentCommand";

    constexpr wchar_t* OPEN_LOCAL_FAMILY_DOCUMENT_COMMAND = L"OpenLocalFamilyDocumentCommand";

    constexpr wchar_t* NEW_LOCAL_FAMILY_DOCUMENT_COMMAND = L"NewLocalFamilyDocumentCommand";
    constexpr wchar_t* NEW_LOCAL_FAMILY_DOCUMENT_FROM_GAP_TEMPLATE_COMMAND = L"NewLocalFamilyDocumentFromGapTemplateCommand";
    constexpr wchar_t* NEW_LOCAL_FAMILY_DOCUMENT_FROM_GST_TEMPLATE_COMMAND = L"NewLocalFamilyDocumentFromGstTemplateCommand";
    constexpr wchar_t* NEW_LOCAL_FAMILY_DOCUMENT_FROM_GMEP_TEMPLATE_COMMAND = L"NewLocalFamilyDocumentFromGMepTemplateCommand";
    constexpr wchar_t* NEW_LOCAL_FAMILY_DOCUMENT_FROM_GROAD_TEMPLATE_COMMAND = L"NewLocalFamilyDocumentFromGroadTemplateCommand";
    constexpr wchar_t* NEW_LOCAL_FAMILY_DOCUMENT_FROM_BIMMAKE_TEMPLATE_COMMAND = L"NewLocalFamilyDocumentFromBimmakeTemplateCommand";
    constexpr wchar_t* NEW_LOCAL_FAMILY_DOCUMENT_FROM_DECO_TEMPLATE_COMMAND = L"NewLocalFamilyDocumentFromDecoTemplateCommand";

    constexpr wchar_t* NEW_LOCAL_FAMILY_DOCUMENT_FROM_TEMPLATE_COMMAND = L"NewLocalFamilyDocumentFromTemplateCommand";

    constexpr wchar_t* OPEN_LOCAL_FAMILY_DOCUMENT_FROM_SAMPLE_COMMAND = L"OpenLocalFamilyDocumentFromSampleCommand";
    constexpr wchar_t* OPEN_LOCAL_FAMILY_DOCUMENT_FROM_GAP_SAMPLE_COMMAND = L"OpenLocalFamilyDocumentFromGapSampleCommand";
    constexpr wchar_t* OPEN_LOCAL_FAMILY_DOCUMENT_FROM_GST_SAMPLE_COMMAND = L"OpenLocalFamilyDocumentFromGstSampleCommand";
    constexpr wchar_t* OPEN_LOCAL_FAMILY_DOCUMENT_FROM_GMEP_SAMPLE_COMMAND = L"OpenLocalFamilyDocumentFromGMepSampleCommand";
    constexpr wchar_t* OPEN_LOCAL_FAMILY_DOCUMENT_FROM_GROAD_SAMPLE_COMMAND = L"OpenLocalFamilyDocumentFromGroadSampleCommand";
    constexpr wchar_t* OPEN_LOCAL_FAMILY_DOCUMENT_FROM_BIMMAKE_SAMPLE_COMMAND = L"OpenLocalFamilyDocumentFromBIMMAKESampleCommand";
    constexpr wchar_t* OPEN_LOCAL_FAMILY_DOCUMENT_FROM_OTHER_SAMPLE_COMMAND = L"OpenLocalFamilyDocumentFromOtherSampleCommand";

    // 帮助用户如何创建
    constexpr wchar_t* ID_CMD_FAM_HOW_TO_CREATE = L"famHowToCreateCmd";

    // 用户信息
    constexpr wchar_t* ID_CMD_FAM_DOCUMENT_HELPER = L"famDocumentHelperCmd";
    constexpr wchar_t* ID_CMD_FAM_DECLARE_QT_LICENSE = L"famDeclareQtLicenseCmd";

    // 选择内置轮廓
    constexpr wchar_t* ID_CMD_FAM_SELECT_BUILD_IN_PROFILE_FAMILY = L"famSelectBuildInProfileFamilyCmd";

    // 显示工作平面
    constexpr wchar_t* ID_CMD_FAM_SHOW_WORK_PLANE = L"famShowWorkPlaneCmd";
    // 隐藏工作平面
    constexpr wchar_t* ID_CMD_FAM_HIDE_WORK_PLANE = L"famHideWorkPlaneCmd";
    // 改变工作平面的可见性
    constexpr wchar_t* ID_CMD_FAM_CHANGE_WORK_PLANE_VISIBILITY = L"famChangeWorkPlaneVisibilityCmd";

    // 改变智能捕捉的状态
    constexpr wchar_t* ID_CMD_FAM_CHANGE_SMART_SNAP_STATE = L"famChangeSmartSnapStateCmd";

    // 显示基准坐标系
    constexpr wchar_t* ID_CMD_FAM_SHOW_DATUM_AXES = L"famShowDatumAxesCmd";
    // 隐藏基准坐标系
    constexpr wchar_t* ID_CMD_FAM_HIDE_DATUM_AXES = L"famHideDatumAxesCmd";
    // 改变基准坐标系的可见性
    constexpr wchar_t* ID_CMD_FAM_CHANGE_DATUM_AXES_VISIBILITY = L"famChangeDatumAxesVisibilityCmd";
    // 批量操作
    constexpr wchar_t* ID_CMD_BATCH_OPERATION = L"famCmdBatchOperation";

    // 批量检测嵌套构件类别一致性
    constexpr wchar_t*  ID_CMD_BATCH_CHECK_NEST_FAMILY_TYPE = L"famCmdCheckNestFamilyType";

    // 批量修改富文本的对齐方式为中中
    constexpr wchar_t* ID_CMD_BATCH_RICH_TEXT_ALIGNMENT_CENTER = L"famCmdBatchRichTextAlignmentCenter";
    // 批量几何参变检测
    constexpr wchar_t* ID_CMD_BATCH_GEOMETRY_PARA_CHECK = L"famCmdBatchGeometryParaCheck";

    // 批量增加文字样式内置参数
    constexpr wchar_t* ID_CMD_BATCH_ADD_TEXT_STYLE_PARA = L"famCmdBatchAddTextStylePara";
    // 批量载入嵌套族
    constexpr wchar_t* ID_CMD_BATCH_RELOAD_ALL_FAMILIES = L"famCmdBatchReloadAllFamilies";
    // 在BuiltIn或UserDefined之间切换选择的参照平面类型
    constexpr wchar_t* ID_CMD_FAM_SHIFT_REFERENCE_PLANE_TYPE_BY_PICK = L"famCmdShiftReferencePlaneTypeByPick";

    // 批量添加自定义参数
    constexpr wchar_t*  ID_CMD_BATCH_ADD_CUSTOM_PARAMETER = L"famCmdBatchAddCustomParameter";

    // 批量翻译
    constexpr wchar_t* ID_CMD_BATCH_EXPORT_EXCEL = L"famCmdBatchExportExcel";
    constexpr wchar_t* ID_CMD_BATCH_TRANSLATE_FROM_EXCEL = L"famCmdBatchTranslateExcel";
    constexpr wchar_t* ID_CMD_BATCH_EXPORT_XML = L"famCmdBatchExportXML";
    constexpr wchar_t* ID_CMD_BATCH_TRANSLATE_FROM_XML = L"famCmdBatchTranslateFromXML";

    // 批量修改共享参数
    constexpr wchar_t* ID_CMD_BATCH_MODIFY_SHARED_PARAMS = L"famCmdBatchModifySharedParams";

    // 批量修改机电二维图例可见性
    constexpr wchar_t* ID_CMD_BATCH_MODIFY_GMEP_LEGEND_VISIBILITY = L"famCmdBatchModifyGmepLegendVisibility";

    // 批量查看三角面片数
    constexpr wchar_t* ID_CMD_BATCH_VIEW_TRIANGLE_PATCH = L"famCmdBatchViewTrianglePatch";

    // 读取gac文件版本信息
    constexpr wchar_t* ID_CMD_READ_GAC_FILE_VERSION = L"famCmdReadGacFileVersion";

    // 关于
    constexpr wchar_t* GNUF_ABOUT_COMMAND = L"gnufApplicationCommand";

    constexpr wchar_t*  ID_CMD_FAMILY_CREATE_RAPID_FORM = L"gmFamilyCreateRapidFormCmd";

    constexpr wchar_t*  ID_CMD_FAMILY_CREATE_RAPID_FORM_CUBOID = L"gmFamilyCreateRapidFormCuboidCmd";
    constexpr wchar_t*  ID_CMD_FAMILY_CREATE_RAPID_FORM_CONE = L"gmFamilyCreateRapidFormConeCmd";
    constexpr wchar_t*  ID_CMD_FAMILY_CREATE_RAPID_FORM_SPHERE = L"gmFamilyCreateRapidFormSphereCmd";
    constexpr wchar_t*  ID_CMD_FAMILY_CREATE_RAPID_FORM_POLYGONEXTRUDE = L"gmFamilyCreateRapidFormPolygonExtrudeCmd";
    constexpr wchar_t*  ID_CMD_FAMILY_CREATE_RAPID_FORM_CYLINDER = L"gmFamilyCreateRapidFormCylinderCmd";
    constexpr wchar_t*  ID_CMD_FAMILY_CREATE_RAPID_FORM_TUBE = L"gmFamilyCreateRapidFormTubeCmd";
    constexpr wchar_t*  ID_CMD_FAMILY_CREATE_RAPID_FORM_TORUS = L"gmFamilyCreateRapidFormTorusCmd";
    constexpr wchar_t*  ID_CMD_FAMILY_CREATE_RAPID_FORM_WHEEL = L"gmFamilyCreateRapidFormWheelCmd";
    constexpr wchar_t*  ID_CMD_FAMILY_CREATE_RAPID_FORM_DOORKNOB = L"gmFamilyCreateRapidFormDoorknobCmd";
    constexpr wchar_t*  ID_CMD_FAMILY_CREATE_RAPID_FORM_FLANGE = L"gmFamilyCreateRapidFormFlangeCmd";
    constexpr wchar_t*  ID_CMD_FAMILY_CREATE_RAPID_FORM_CHAMFERED_CUBOID = L"gmFamilyCreateRapidFormChamferedCuboidCmd";
    constexpr wchar_t*  ID_CMD_FAMILY_CREATE_RAPID_FORM_CHAMFERED_CYLINDER = L"gmFamilyCreateRapidFormChamferedCylinderCmd";
    constexpr wchar_t*  ID_CMD_FAMILY_CREATE_RAPID_FORM_ELLIPSOID = L"gmFamilyCreateRapidFormEllipsoidCmd";
    constexpr wchar_t*  ID_CMD_FAMILY_CREATE_RAPID_FORM_TRAPEZOID = L"gmFamilyCreateRapidFormTrapezoidCmd";
    constexpr wchar_t*  ID_CMD_FAMILY_CREATE_RAPID_FORM_RECT_FLANGE = L"gmFamilyCreateRapidFormRectFlangeCmd";
    constexpr wchar_t*  ID_CMD_FAMILY_CREATE_RAPID_FORM_RIGHT_TRIANGLE = L"gmFamilyCreateRapidFormRightTriangleCmd";
    constexpr wchar_t*  ID_CMD_FAMILY_CREATE_RAPID_FORM_TRUNC_CONE = L"gmFamilyCreateRapidFormTruncatedConeCmd";
    constexpr wchar_t*  ID_CMD_FAMILY_CREATE_RAPID_FORM_TRUNC_PYRAMID = L"gmFamilyCreateRapidFormTruncatedPyramidCmd";
    constexpr wchar_t*  ID_CMD_FAMILY_CREATE_RAPID_FORM_RECTANGLE = L"gmFamilyCreateRapidFormRectangleCmd";
    constexpr wchar_t*  ID_CMD_FAMILY_CREATE_RAPID_FORM_ROUNDED_CORNER_ELBOW = L"gmFamilyCreateRapidFormRoundedCornerElbowCmd";
    constexpr wchar_t*  ID_CMD_FAMILY_CREATE_RAPID_FORM_RIGHT_CORNER_ELBOW = L"gmFamilyCreateRapidFormRightCornerElbowCmd";
    constexpr wchar_t*  ID_CMD_FAMILY_CREATE_RAPID_FORM_SPRING = L"gmFamilyCreateRapidFormSpringCmd";

    constexpr wchar_t*  ID_CMD_FAMILY_RAPID_FORM_SHOW_CHILDOBJECT = L"gmFamilyRapidFormShowChildObject";
    constexpr wchar_t*  ID_CMD_FAMILY_RAPID_FORM_HIDE_CHILDOBJECT = L"gmFamilyRapidFormHideChildObject";

    constexpr wchar_t*  ID_CMD_FAMILY_CREATE_RAPID_SHAPE_RECT_SKETCH_LINE = L"gmFamilyCreateRapidShapeRectSketchLineCmd";
    constexpr wchar_t*  ID_CMD_FAMILY_CREATE_RAPID_SHAPE_CIRCLE_SKETCH_LINE = L"gmFamilyCreateRapidShapeCircleSketchLineCmd";
    constexpr wchar_t*  ID_CMD_FAMILY_CREATE_RAPID_SHAPE_SEMICIRCLE_SKETCH_LINE = L"gmFamilyCreateRapidShapeSemiCircleSketchLineCmd";
    constexpr wchar_t*  ID_CMD_FAMILY_CREATE_RAPID_SHAPE_HEXAGON_SKETCH_LINE = L"gmFamilyCreateRapidShapeHexagonSketchLineCmd";
    constexpr wchar_t*  ID_CMD_FAMILY_CREATE_RAPID_SHAPE_OCTAGON_SKETCH_LINE = L"gmFamilyCreateRapidShapeOctagonSketchLineCmd";
    constexpr wchar_t*  ID_CMD_FAMILY_CREATE_RAPID_SHAPE_ANNULUS_SKETCH_LINE = L"gmFamilyCreateRapidShapeAnnulusSketchLineCmd";
    constexpr wchar_t*  ID_CMD_FAMILY_CREATE_RAPID_SHAPE_TRIANGLE_SKETCH_LINE = L"gmFamilyCreateRapidShapeTriangleSketchLineCmd";

    // 导入导出
    constexpr wchar_t*  ID_CMD_FAMILY_EXPORT_TO_IMG = L"gfamExportToImgCmd";
    constexpr wchar_t*  ID_CMD_FAMILY_EXPORT_TO_XML = L"gfamExportToXmlCmd";
    constexpr wchar_t*  ID_CMD_FAMILY_EXPORT_FOR_GIAC = L"gfamExportForGIACCmd";
    constexpr wchar_t*  ID_CMD_CREATE_FAMILY_3DCURVE_BY_PICK = L"gmCreateFamily3DCurveCmdByPick";
    constexpr wchar_t*  ID_CMD_FAMILY_CREATE_MODEL_TEXT = L"gmFamilyCreateModelText";
    constexpr wchar_t*  ID_CMD_FAMILY_EDIT_MODEL_TEXT = L"gmFamilyEditorModelText";

    constexpr wchar_t*  ID_CMD_FAMILY_RAPID_FORM_CONVERT_GAC = L"gmFamilyRapidFormConvertGac";

    constexpr wchar_t*  ID_CMD_FAMILY_FORCE_DELETE_ELEMENT = L"gmFamilyForceDeleteElement";

    constexpr wchar_t*  ID_CMD_FAMILY_FILLET_ARC = L"gmFamilyFilletArcCmd";

    constexpr wchar_t*  ID_CMD_FAMILY_CHAMFER = L"gmFamilyChamferCmd";

    constexpr wchar_t*  ID_CMD_FAMILY_BREAK_ELEMENT = L"gmFamilyBreakElement";

    constexpr wchar_t*  ID_CMD_FAMILY_MOVE_INSERT_POINT_FOR_PASTE = L"gmMoveMoveInsertPointForPasteCmd";

    constexpr wchar_t*  ID_CMD_BATCH_CHECK_TEXT_STYLE = L"famCmdBatchCheckTextStyle";

    constexpr wchar_t* ID_CMD_BATCH_UPDATE_NESTED_FAMILY = L"famCmdBatchUpdateNestedFamily";
}